Java.lang প্যাকেজ হল Java এর একটি গুরুত্বপূর্ণ প্যাকেজ যা Java প্ল্যাটফর্মের বিভিন্ন মৌলিক ফিচার এবং ক্লাস সরবরাহ করে। এর মধ্যে রয়েছে System ক্লাস, যা বেশ কিছু সুবিধাজনক মেথড প্রদান করে, যার মাধ্যমে সিস্টেম সম্পর্কিত তথ্য পাওয়া এবং সিস্টেম প্রপার্টি পরিচালনা করা সম্ভব হয়।
System Properties হল Java অ্যাপ্লিকেশন বা Java Virtual Machine (JVM)-এর জন্য ব্যবহৃত সেটিংস বা কনফিগারেশন মান। এগুলি সাধারণত সিস্টেমের বিভিন্ন বৈশিষ্ট্য বা পরিবেশ সংক্রান্ত তথ্য ধারণ করে যেমন, ব্যবহারকারীর নাম, ডিফল্ট টাইম জোন, ফাইল পাথ, সিস্টেমের আর্কিটেকচার ইত্যাদি।
System Properties কী?
System Properties হল সিস্টেমের মধ্যে বিভিন্ন কনফিগারেশন বা ইনফরমেশন যা JVM বা Java অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয়। এই প্রপার্টিগুলি বিভিন্ন তথ্য ধারণ করে যা প্রোগ্রাম চলার সময় পরিবেশের সাথে সম্পর্কিত।
Java-তে system properties এভাবে কাজ করে:
- প্রপার্টি মান সেট করা যায় বা পড়া যায়।
- প্রপার্টি সাধারণত স্ট্রিং (String) মান হিসেবে থাকে।
System Properties প্রাপ্তি এবং সেটিং:
Java-তে System.getProperty() এবং System.setProperty() মেথডের মাধ্যমে system properties পড়া এবং সেট করা হয়।
1. System.getProperty():
এটি সিস্টেমের একটি প্রপার্টির মান ফেরত দেয়। সাধারণত, আপনি এই মেথড ব্যবহার করে Java ভার্চুয়াল মেশিন (JVM) এবং সিস্টেম সম্পর্কে বিভিন্ন তথ্য জানতে পারবেন।
Syntax:
System.getProperty("propertyName");
উদাহরণ:
public class SystemPropertiesExample {
public static void main(String[] args) {
// Java সংস্করণ
String javaVersion = System.getProperty("java.version");
System.out.println("Java Version: " + javaVersion);
// ব্যবহারকারীর নাম
String userName = System.getProperty("user.name");
System.out.println("User Name: " + userName);
// ফাইল সিস্টেমের সীমানা
String fileSeparator = System.getProperty("file.separator");
System.out.println("File Separator: " + fileSeparator);
// Operating System এর নাম
String osName = System.getProperty("os.name");
System.out.println("Operating System: " + osName);
}
}
Output:
Java Version: 1.8.0_251
User Name: john
File Separator: \
Operating System: Windows 10
2. System.setProperty():
এই মেথডটি একটি নতুন system property সেট করার জন্য ব্যবহৃত হয়। এটি সাধারণত Java প্রোগ্রামের চলার সময় runtime-এ প্রপার্টি পরিবর্তন করতে ব্যবহার করা হয়।
Syntax:
System.setProperty("propertyName", "value");
উদাহরণ:
public class SetSystemPropertyExample {
public static void main(String[] args) {
// একটি সিস্টেম প্রপার্টি সেট করা
System.setProperty("myProperty", "Hello, World!");
// সেট করা প্রপার্টি পড়া
String myProperty = System.getProperty("myProperty");
System.out.println("myProperty: " + myProperty);
}
}
Output:
myProperty: Hello, World!
System Properties এর সাধারণ প্রপার্টি উদাহরণ:
Java প্ল্যাটফর্মে কিছু সাধারণ system properties এর নাম এবং তাদের মান দেখতে পারেন:
- os.name: অপারেটিং সিস্টেমের নাম।
- os.version: অপারেটিং সিস্টেমের সংস্করণ।
- os.arch: অপারেটিং সিস্টেমের আর্কিটেকচার (যেমন x86, x64)।
- java.version: Java Runtime Environment (JRE) এর সংস্করণ।
- java.vendor: Java এর বিক্রেতার নাম।
- user.name: ব্যবহারকারীর নাম।
- user.home: ব্যবহারকারীর হোম ডিরেক্টরি।
- user.dir: ব্যবহারকারীর বর্তমান ডিরেক্টরি।
- file.separator: ফাইল সিস্টেমের সীমানা (যেমন Windows এ '\' এবং UNIX এ '/')।
কমন প্রপার্টি গুলি ব্যবহারের উদাহরণ:
public class CommonSystemProperties {
public static void main(String[] args) {
// সিস্টেম প্রপার্টি দেখান
System.out.println("Operating System Name: " + System.getProperty("os.name"));
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("User Name: " + System.getProperty("user.name"));
System.out.println("User Home Directory: " + System.getProperty("user.home"));
System.out.println("File Separator: " + System.getProperty("file.separator"));
}
}
System Properties সেটিংস - VM Arguments ব্যবহার:
Java Virtual Machine (JVM) চালানোর সময় আপনি VM arguments (অথবা command line arguments) ব্যবহার করে সিস্টেম প্রপার্টি সেট করতে পারেন।
উদাহরণ:
java -DmyProperty=HelloWorld MyApp
এতে, myProperty সিস্টেম প্রপার্টি "HelloWorld" মান নিয়ে আপনার অ্যাপ্লিকেশনে প্রবেশ করবে এবং কোডে System.getProperty("myProperty") ব্যবহার করে এটি অ্যাক্সেস করা যাবে।
System Properties এর অন্যান্য ব্যবহার:
- Configuration Management: Java অ্যাপ্লিকেশনে কনফিগারেশন সেটিংস স্টোর এবং অ্যাক্সেস করতে System Properties ব্যবহার করা হয়।
- Environment Variables: কিছু ক্ষেত্রে, আপনি সিস্টেম পরিবেশের পরিবর্তনশীল (environment variables) বা প্রপার্টি অ্যাক্সেস করতে পারেন, যা অ্যাপ্লিকেশনে আচরণ পরিবর্তন করতে সাহায্য করে।
- File Paths: সিস্টেমের ফাইল পাথ এবং ফোল্ডারের সঠিক সীমানা জানতে System Properties ব্যবহার করা হয়।
সীমাবদ্ধতা:
- Security Considerations:
System.setProperty()ব্যবহারের সময় সতর্ক থাকতে হবে, কারণ এটি এমন সিস্টেম প্রপার্টি পরিবর্তন করতে সক্ষম যা অ্যাপ্লিকেশনের নিরাপত্তার জন্য ঝুঁকি তৈরি করতে পারে। - Persistence: যেহেতু
System.setProperty()শুধুমাত্র JVM চলাকালীন কার্যকর থাকে, তাই এটি স্থায়ীভাবে পরিবর্তন করবে না। সিস্টেম প্রপার্টি সেট করার জন্য স্থায়ী কনফিগারেশন ফাইল প্রয়োজন।
System Properties Java অ্যাপ্লিকেশনে সিস্টেমের পরিবেশগত তথ্য এবং কনফিগারেশন সেটিংস পরিচালনার জন্য গুরুত্বপূর্ণ একটি ফিচার। এটি System.getProperty() এবং System.setProperty() মেথড ব্যবহার করে পড়া এবং সেট করা যেতে পারে। Java অ্যাপ্লিকেশনকে কনফিগার এবং পরিবেশ অনুযায়ী আচরণ পরিবর্তন করতে এটি অত্যন্ত কার্যকর।
Read more